import java.io.*;

public class FileDemo1 {
    //需求：从一个目录下找到制定的文件，并复制文件内容再拷贝到指定的目录下
    public static void main(String[] args) throws Exception {
        //创建源文件目标
        File srcDir =new File("java");
        File destDir=new File("test");
        //File file=srcDic.getParentFile();
        //System.out.println(file);
        File file[]=srcDir.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir , String name) {
                return new File(dir,name).isFile()&& name.endsWith(".xml");
            }
        });
        //迭代获取每一个文件里的内容，再对其读写操作
        for (File f :file) {

            InputStream in = new FileInputStream(f);
            OutputStream out = new FileOutputStream(new File(destDir, f.getName()));
            //这块没有输出流的目的文件，所以得需要创建一个,
            //开始读写操作
            //表示已经读取的文件
            byte[] buffer = new byte[1024];
            int len = -1;//表示已经读取的字节数，在底层规定是-1读取到末尾
            len = in.read(buffer);//先把数据读取在缓冲区里
            //从哪个缓冲区里写，从缓冲区数组里第几个索引就开始写，写多长
            while (len != -1) {
                out.write(buffer, 0, len);
                len = in.read(buffer);
            }
            /**try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            try {
                if (out != null) {
                    out.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }*/
            in.close();
            out.close();
        }
    }
}
